﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Modelo;
using System.Data.SqlClient;

namespace BaseDatos
{
    public static class BDProveedor
    {
        private static string conexionCentral = "Data Source=.\\sqlexpress; Initial Catalog=FarmaciaAurora; Integrated Security=true";
        private static string conexionSucursal1 = "Data Source=.\\sqlexpress; Initial Catalog=FarmaciaAuroraSucursal; Integrated Security=true";
        private static string conexionSucursal2 = "Data Source=.\\sqlexpress; Initial Catalog=FarmaciaAuroraSucursal2; Integrated Security=true";

        public static bool ModificarProveedor(Proveedor proveedor)
        {
            SqlConnection sql = null;
            bool res = false;
            try
            {
                sql = new SqlConnection(conexionCentral);
                SqlCommand comando = sql.CreateCommand();
                comando.CommandText = "Update Proveedor Set Nombre= @nombre, ContratoActivo = @contratoActivo, FechaContrato = @fechaContrato";
                comando.Parameters.AddWithValue("nombre",proveedor.nombre);
                comando.Parameters.AddWithValue("fechaContrato",proveedor.fechaContrato);
                comando.Parameters.AddWithValue("contratoActivo",proveedor.contratoActivo);
                sql.Open();
                comando.ExecuteNonQuery();
                res = true;
            }
            catch (Exception e)
            {

                throw e;
            }
            finally
            {
                if (sql != null)
                    sql.Dispose();
            }
            return res;
        }
        public static List<Proveedor> listaDeProveedores()
        {
            SqlConnection sql = null;
            List<Proveedor> proveedores = null;
            try
            {
                sql = new SqlConnection(conexionCentral);
                proveedores = new List<Proveedor>();
                SqlCommand comando = sql.CreateCommand();
                comando.CommandText = "Select * From Proveedor";
                sql.Open();
                SqlDataReader reader = comando.ExecuteReader();
                while (reader.HasRows)
                {
                    reader.Read();
                    Proveedor proveedor = new Proveedor();
                    proveedor.contratoActivo = (bool)reader["ContratoActivo"];
                    proveedor.fechaContrato = DateTime.Parse(reader["FechaContrato"].ToString());
                    proveedor.idProveedor = (long)reader["IdProveedor"];
                    proveedor.nombre = reader["Nombre"].ToString();
                    proveedores.Add(proveedor);
                }
            }
            catch (Exception e)
            {

                throw e;
            }
            finally
            {
                if (sql != null)
                    sql.Dispose();
            }
            return proveedores;
        }


    }
}
